๋ชจ๋ํ ์์คํ API๋ฅผ ์ํ ํ๊ธฐ์ ์ธ ์ธํฐํ์ด์ค์ธ WebAssembly WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์ดํด๋ณด์ธ์. ๊ธ๋ก๋ฒ ๊ฐ๋ฐ์๋ฅผ ์ํ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ, ๋ณด์ ๋ฐ ์ํธ ์ด์ฉ์ฑ์ ์ ์ฌ๋ ฅ์ ์ดํดํ์ญ์์ค.
WebAssembly WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ: ๊ธ๋ก๋ฒ ์น์ ์ํ ๋ชจ๋ํ ์์คํ API
์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์ ์ด์์ฑ, ๋ณด์ ๋ฐ ์ํธ ์ด์ฉ์ฑ์ ๋ํ ์๊ตฌ๋ก ์ธํด ๋์์์ด ์งํํ๊ณ ์์ต๋๋ค. ์๋ ๋์ WebAssembly(Wasm)๋ ์น ๋ฐ ๊ทธ ๋๋จธ๋ฅผ ์ํ ์์ ํ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋ ์ด์ ๊ฐ๋ฅํ ์ปดํ์ผ ๋์์ผ๋ก์์ ๊ฐ๋ฅ์ฑ์ ์ฝ์ํด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ธ๋ผ์ฐ์ ์ธ๋ถ, ํนํ ๊ธฐ๋ณธ ์์คํ ๊ณผ์ ์ํธ ์์ฉ์ ์ํด Wasm์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ํ์ฉํ๋ ๋ฐ์๋ ์ด๋ ค์์ด ์์์ต๋๋ค. ๋ฐ๋ก WebAssembly ์์คํ ์ธํฐํ์ด์ค(WASI) ์ปดํฌ๋ํธ ๋ชจ๋ธ์ด ๋ฑ์ฅํ์ต๋๋ค. ์ด ํ์ ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋ชจ๋ํ ์์คํ API์ ๋ํ ์ฐ๋ฆฌ์ ์ฌ๊ณ ๋ฐฉ์์ ํ์ ํ๊ณ ์ ์ธ๊ณ์ ๋ค์ํ ์ปดํจํ ํ๊ฒฝ์์ ์ง์ ํ ์ด์ ๊ฐ๋ฅํ๊ณ ์์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๊ธธ์ ์ด์ด์ค ๊ฒ์ ๋๋ค.
๊ธฐ์ ์ดํด: ๋ธ๋ผ์ฐ์ ์๋๋ฐ์ค์์ ์์คํ ์ก์ธ์ค๊น์ง
WebAssembly๋ ์ฒ์์ ์น ๋ธ๋ผ์ฐ์ ์๋๋ฐ์ค ๋ด์์ ์์ ํ๊ณ ํจ์จ์ ์ผ๋ก ์ฝ๋๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ณ ์๋์์ต๋๋ค. ์ด ์๋๋ฐ์ฑ์ ์น ๋ณด์์ ํ์์ ์ด๋ฉฐ ์ ์ฑ ์ฝ๋๊ฐ ๋ฏผ๊ฐํ ์ฌ์ฉ์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๊ฑฐ๋ ํธ์คํธ ์์คํ ์ ์์์ํค๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ๊ทธ๋ฌ๋ Wasm์ ๊ธฐ๋ฅ์ด ์ฑ์ฅํจ์ ๋ฐ๋ผ ์๋ฒ ์ธก ์ ํ๋ฆฌ์ผ์ด์ , ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํฌ๋ก๋, ์ฃ์ง ์ปดํจํ , ์ฌ์ง์ด ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์๋ Wasm์ ์ฌ์ฉํ๋ ค๋ ์๊ตฌ๋ ์ปค์ก์ต๋๋ค. ์ด๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด Wasm์ ํธ์คํธ ํ๊ฒฝ(์ด์ ์ฒด์ , ํ์ผ ์์คํ , ๋คํธ์ํฌ ์์ผ ๋ฐ ๊ธฐํ ์์คํ ๋ฆฌ์์ค)๊ณผ ์ํธ ์์ฉํ๋ ํ์คํ๋ ๋ฐฉ๋ฒ์ด ํ์ํ์ต๋๋ค.
์ฌ๊ธฐ์ WASI๊ฐ ๋ฑ์ฅํฉ๋๋ค. WASI๋ Wasm ๋ชจ๋์ด ์์คํ ์์ค ์์ ์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ํ ์ธํฐํ์ด์ค ์งํฉ์ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ธ๋ถ ์ธ๊ณ์ ์ํธ ์์ฉํ๋ ค๋ Wasm ๋ชจ๋์ ์ํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค. WASI์ ์ด๊ธฐ ๋ฒ์ ์ ํ์ผ I/O, ๋์ ์์ฑ ๋ฐ ์๊ฐ ์ก์ธ์ค์ ๊ฐ์ ํต์ฌ ๊ธฐ๋ฅ ์ ๊ณต์ ์ค์ ์ ๋์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ๋ค์ ์ค์ํ ๋จ๊ณ์์ง๋ง, ์ข ์ข ์ง์ ์ ์ด๊ณ ์ ์์ค์ ์์คํ ํธ์ถ์ ๋ ธ์ถํ์ฌ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์์ต๋๋ค.
- ํ๋ซํผ ํน์์ฑ: ํน์ ์ด์ ์ฒด์ ์ ๋๋ฌด ๋ฐ์ ํ๊ฒ ์ฐ๊ฒฐ๋ ์ธํฐํ์ด์ค๋ก ์ธํด ์ง์ ํ ํฌ๋ก์ค ํ๋ซํผ ์ด์์ฑ์ด ์ ํด๋์์ต๋๋ค.
- ๋ณด์ ๋ฌธ์ : ์์คํ ๋ฆฌ์์ค์ ๋ํ ์ง์ ์ก์ธ์ค๋ ์ธ์ฌํ๊ฒ ๊ด๋ฆฌ๋์ง ์์ผ๋ฉด ์ํํ ์ ์์์ต๋๋ค.
- ์ ํ๋ ๋ชจ๋์ฑ: ์์คํ ์ธํฐํ์ด์ค์ ๋ํ ๋จ์ผ์ฒด ์ ๊ทผ ๋ฐฉ์์ ๊ธฐ๋ฅ์ ํจ๊ณผ์ ์ผ๋ก ๊ตฌ์ฑํ๊ณ ์ฌ์ฌ์ฉํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค์์ต๋๋ค.
์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์๋ฒฝ: ํจ๋ฌ๋ค์ ์ ํ
WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์ด์ WASI ์ ์์ ๋นํด ๊ทผ๋ณธ์ ์ธ ๋ฐ์ ์ ๋ํ๋ ๋๋ค. ์ง์ ์ ์ธ ์์คํ ํธ์ถ ์ธํฐํ์ด์ค์์ ๊ธฐ๋ฅ ๊ธฐ๋ฐ, ๊ฐ๋ ฅํ ํ์ ์ง์ , ๋ชจ๋ํ๋ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ด๋ํ์ต๋๋ค. ์ด๋ ๋จ์ํ ์ ์ง์ ์ธ ๊ฐ์ ์ด ์๋๋๋ค. ์ด์ ๋ ธ๋ ฅ์ ํ๊ณ๋ฅผ ํด๊ฒฐํ๊ณ ๊ด๋ฒ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ Wasm์ ์ ์ฌ๋ ฅ์ ๋ฐํํ๋ ํจ๋ฌ๋ค์ ์ ํ์ ๋๋ค.
ํต์ฌ์ ์ผ๋ก ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๋ช ์์ ๊ธฐ๋ฅ์ ์์น์ ๊ธฐ๋ฐํฉ๋๋ค. Wasm ๋ชจ๋์ด ์์์ ์ผ๋ก ์์คํ ๋ฆฌ์์ค์ ์ก์ธ์คํ ์ ์๋ ๋์ , ํธ์คํธ ํ๊ฒฝ์์ ๋ช ์์ ์ผ๋ก ์ด๋ฌํ ๊ธฐ๋ฅ์ ๋ถ์ฌ๋ฐ์์ผ ํฉ๋๋ค. ์ด๋ ์๋ฒฝํ๊ฒ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก์ ์ผ์นํ๋ฉฐ Wasm ๋ชจ๋์ด ํ ์ ์๋ ๊ฒ๊ณผ ํ ์ ์๋ ๊ฒ์ ๋ํ ์ธ๋ฐํ ์ ์ด๋ฅผ ํ์ฉํฉ๋๋ค.
WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ํต์ฌ ๊ธฐ๋ฅ:
- ๋ชจ๋์ฑ: ์์คํ ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ๋ ๋ฆฝ์ ์ธ ์ปดํฌ๋ํธ๋ก ๋ถํด๋ฉ๋๋ค. Wasm ๋ชจ๋์ ํ์ํ ํน์ ๊ธฐ๋ฅ(์ธํฐํ์ด์ค)์ ๊ฐ์ ธ์ค๊ณ ์์ฒด ๊ธฐ๋ฅ์ ๋ด๋ณด๋ผ ์ ์์ต๋๋ค.
- ์ํธ ์ด์ฉ์ฑ: ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์ธ์ด ๋ฐ ํ๋ซํผ ๋ ๋ฆฝ์ฑ์ ๋ชฉํ๋ก ํฉ๋๋ค. Wasm์ผ๋ก ์ปดํ์ผ๋ ์ฝ๋๋ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๊ธฐ๋ณธ ์ด์ ์ฒด์ ์ ๊ด๊ณ์์ด ๋ค๋ฅธ Wasm ๋ชจ๋ ๋ฐ ํธ์คํธ ์ปดํฌ๋ํธ์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค.
- ๊ฐ๋ ฅํ ํ์ ์ง์ : ์ธํฐํ์ด์ค๋ ๊ฐ๋ ฅํ๊ฒ ํ์ ์ง์ ๋์ด ์์๋๋ ๋ฐ์ดํฐ ์ ํ๊ณผ ํจ์๊ฐ ๋ช ํํ๊ฒ ์ ์๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฐํ์์ด ์๋ ์ปดํ์ผ ํ์์ ์ค๋ฅ๊ฐ ๊ฐ์ง๋์ด ๋ณด๋ค ๊ฐ๋ ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
- ๊ธฐ๋ฅ ๊ธฐ๋ฐ ๋ณด์: ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค๋ ๋ช ์์ ๊ธฐ๋ฅ์ ํตํด ๋ถ์ฌ๋์ด ๋ณด์์ ๊ฐํํ๊ณ Wasm ์คํ์ ์ํ ์ ๋ก ํธ๋ฌ์คํธ ๋ชจ๋ธ์ ํ์ฑํํฉ๋๋ค.
- ๊ตฌ์ฑ ๊ฐ๋ฅ์ฑ: ์ปดํฌ๋ํธ๋ ์ฝ๊ฒ ๊ฒฐํฉํ๊ณ ์ฒด์ธ์ผ๋ก ์ฐ๊ฒฐํ์ฌ ์๊ณ ๊ด๋ฆฌ ๊ฐ๋ฅํ ๋ถ๋ถ์์ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ ์๋ ๋ฐฉ์: ์ธํฐํ์ด์ค ๋ฐ ์๋
์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์ธํฐํ์ด์ค์ ์๋๋ผ๋ ๋ ๊ฐ์ง ํต์ฌ ๊ฐ๋ ์ ๋์ ํฉ๋๋ค.
์ธํฐํ์ด์ค: ๊ณ์ฝ
์ธํฐํ์ด์ค๋ ๊ธฐ๋ฅ ์งํฉ์ ๋ํ ๊ณ์ฝ์ ์ ์ํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ํจ์, ์ธ์ ๋ฐ ๋ฐํ ์ ํ์ ์ง์ ํฉ๋๋ค. ์ธํฐํ์ด์ค๋ฅผ ์์คํ ์๋น์ค ๋๋ ๊ธฐํ Wasm ๋ชจ๋์ API ์ ์๋ผ๊ณ ์๊ฐํ์ญ์์ค. ์๋ฅผ ๋ค์ด, ํ์ผ I/O ์ธํฐํ์ด์ค๋ `read`, `write`, `open`, `close`์ ๊ฐ์ ํจ์์ ํด๋น ๋งค๊ฐ๋ณ์(์: ํ์ผ ๋์คํฌ๋ฆฝํฐ, ๋ฒํผ, ํฌ๊ธฐ) ๋ฐ ์์ ๋ฐํ ๊ฐ์ ์ ์ํ ์ ์์ต๋๋ค.
์ค์ํ ์ ์ ์ด๋ฌํ ์ธํฐํ์ด์ค๊ฐ ์ธ์ด์ ๊ตฌ์ ๋ฐ์ง ์๋ ๋ฐฉ์์ผ๋ก ์ ์๋๋ค๋ ๊ฒ์ ๋๋ค. ์ข ์ข WebIDL(Web Interface Definition Language) ๋๋ ์ ์ฌํ ์ธํฐํ์ด์ค ์ค๋ช ์ธ์ด๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ด๊ณ์์ด ๋ค๋ฅธ ์ปดํฌ๋ํธ๊ฐ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ์ ์ํ ์ ์์ต๋๋ค.
์๋: ์ธํฐํ์ด์ค์ ๊ตฌ์ฑ
์๋๋ Wasm ๋ชจ๋์ด ๊ฐ์ ธ์ค๊ฑฐ๋ ๋ด๋ณด๋ผ ์ ์๋ ์ธํฐํ์ด์ค ๋ชจ์์ ๋ํ๋ ๋๋ค. Wasm ๋ชจ๋์ด ์๋ํ ์ ์ฒด ํ๊ฒฝ์ ์ ์ํฉ๋๋ค. Wasm ๋ชจ๋์ ํน์ ์๋๋ฅผ ๊ตฌํํ๋๋ก ์ค๊ณ๋ ์ ์์ผ๋ฉฐ, ์ด๋ ํด๋น ์๋ ์ธํฐํ์ด์ค์ ์ํด ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ฐ๋๋ก Wasm ๋ชจ๋์ ์๋์ ์์กดํ๋๋ก ์ค๊ณ๋ ์๋ ์์ผ๋ฉฐ, ์ด๋ ํธ์คํธ ํ๊ฒฝ์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด ํ์ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ด๋ฌํ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ๋ ๊ฐ๋ ฅํฉ๋๋ค. Wasm ๋ชจ๋์ Linux ๋๋ Windows์์ ํ์ผ์ ์ฌ๋ ๋ฐฉ๋ฒ์ ์ ํ์๊ฐ ์์ต๋๋ค. ๋จ์ํ `wasi` ์๋์์ `io` ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค๊ณ ์ ์ธํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํธ์คํธ ํ๊ฒฝ์ ํด๋น ํ๋ซํผ์ ์ ํฉํ `io` ์ธํฐํ์ด์ค ๊ตฌํ์ ์ ๊ณตํ ์ฑ ์์ด ์์ต๋๋ค.
์์:
์ฝ์์ ๋ฉ์์ง๋ฅผ ๊ธฐ๋กํด์ผ ํ๋ Wasm ๋ชจ๋์ ์์ํด ๋ณด์ธ์. ์ด ๋ชจ๋์ `wasi` ์๋์์ `console` ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ ธ์จ๋ค๊ณ ์ ์ธํฉ๋๋ค. ์๋ฒ, ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ๋ค๋ฅธ Wasm ๋ฐํ์์ด๋ ํธ์คํธ ํ๊ฒฝ์ ํด๋น `console` ์ธํฐํ์ด์ค์ ๊ตฌํ์ ์ ๊ณตํ๋ฉฐ, ์ด๋ ํธ์คํธ์ ๊ตฌ์ฑ์ ๋ฐ๋ผ ํ์ค ์ถ๋ ฅ, ๋ก๊ทธ ํ์ผ ๋๋ ๋คํธ์ํฌ ์คํธ๋ฆผ์ ์ธ ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ ๊ฐ๋ฐ์ ์ํ๊ณ๋ฅผ ์ํ ์ด์
WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๊ธ๋ก๋ฒ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์ ์๋นํ ์ํฅ์ ๋ฏธ์น ์ ์๋ ๋งค๋ ฅ์ ์ธ ์ด์ ์งํฉ์ ์ ๊ณตํฉ๋๋ค:
1. ์ง์ ํ ํฌ๋ก์ค ํ๋ซํผ ์ด์์ฑ
๊ฐ์ฅ ํฐ ์ฅ์ ์ค ํ๋๋ ์ง์ ํ ํฌ๋ก์ค ํ๋ซํผ ์ด์์ฑ์ ์ฝ์์ ๋๋ค. ๊ฐ๋ฐ์๋ Wasm(์: Rust, Go, C++, AssemblyScript)์ผ๋ก ์ปดํ์ผ๋๋ ์ธ์ด๋ก ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ํ ๋ฒ ์์ฑํ ๋ค์ WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์ง์ํ๋ ๊ฑฐ์ ๋ชจ๋ ํ๋ซํผ์์ ์คํํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ด๋ฒ์ํ ํ๋ซํผ๋ณ ์ฝ๋ ์์ฑ์ด ํ์ ์์ด ๊ฐ๋ฐ ์๊ฐ๊ณผ ์ ์ง ๊ด๋ฆฌ ์ค๋ฒํค๋๊ฐ ์ค์ด๋ญ๋๋ค.
๊ธ๋ก๋ฒ ์์: ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ๊ฐ๋ฐํ๋ ํ์ฌ์์ ์ด๋ฅผ Wasm ์ปดํฌ๋ํธ๋ก ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์ด ์ปดํฌ๋ํธ๋ ๋ถ๋ฏธ์ ํด๋ผ์ฐ๋ ์๋ฒ, ์์์์ ์ฃ์ง ์ฅ์น ๋๋ ์ ๋ฝ์ ๊ฐ๋ฐ์ ๋ ธํธ๋ถ์์ ๊ฑฐ์ ๋๋ ์ ํ ์์ ์์ด ๋ฐฐํฌํ๊ณ ์คํ๋ ์ ์์ต๋๋ค.
2. ํฅ์๋ ๋ณด์ ๋ฐ ๊ฒฉ๋ฆฌ
๊ธฐ๋ฅ ๊ธฐ๋ฐ ๋ณด์ ๋ชจ๋ธ์ ํ๋๋ฅผ ๋ฐ๊ฟ๋๋ค. ๋ฆฌ์์ค ์ก์ธ์ค์ ๋ํ ๋ช ์์ ๋ถ์ฌ๋ฅผ ์๊ตฌํจ์ผ๋ก์จ ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ก ํธ๋ฌ์คํธ ์ํคํ ์ฒ๋ฅผ ์ํํฉ๋๋ค. Wasm ๋ชจ๋์ ์์๋ก ํ์ผ ์์คํ ์ด๋ ๋คํธ์ํฌ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ํ์ํ ํน์ ๊ถํ์ ๋ถ์ฌ๋ฐ์์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ณต๊ฒฉ ํ๋ฉด์ด ํฌ๊ฒ ์ค์ด๋ค๊ณ ํนํ ์ ๋ขฐํ ์ ์๋ ํ๊ฒฝ์์ Wasm ๋ชจ๋์ ๋ณธ์ง์ ์ผ๋ก ๋ ์์ ํ๊ฒ ์คํํ ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ ์์: ๋ฉํฐ ํ ๋ํธ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ๊ฐ ํ ๋ํธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ Wasm ์ปดํฌ๋ํธ๋ก ๋ฐฐํฌ๋ ์ ์์ต๋๋ค. ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด๋ ๊ฐ ์ปดํฌ๋ํธ๊ฐ ์ก์ธ์คํ ์ ์๋ ๋ฆฌ์์ค๋ฅผ ์ธ์ฌํ๊ฒ ์ ์ดํ์ฌ ํ๋์ ์ปดํฌ๋ํธ๊ฐ ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ํ๊ณ ๋ฐ์ดํฐ ๊ฒฉ๋ฆฌ๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค.
3. ๊ฐ์ ๋ ๋ชจ๋์ฑ ๋ฐ ์ฌ์ฌ์ฉ์ฑ
์ปดํฌ๋ํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ ์๊ณ ์ง์ค์ ์ด๋ฉฐ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฐ๋ฐ์ ์ฅ๋ คํฉ๋๋ค. ๊ฐ๋ฐ์๋ ํน์ ๊ธฐ๋ฅ(์: ์ด๋ฏธ์ง ์ฒ๋ฆฌ, ์ํธํ ์์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ก์ธ์ค)์ ์ ๊ณตํ๋ Wasm ์ปดํฌ๋ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ตฌ์ถํ ๋ค์ ์ด๋ฅผ ๊ตฌ์ฑํ์ฌ ๋ ํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋ ์ฌ์ฌ์ฉ๊ณผ ๋ณด๋ค ํจ์จ์ ์ธ ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ์ด์ง๋ฉ๋๋ค.
๊ธ๋ก๋ฒ ์์: ๋ธ๋ผ์ง ํ์ด ์ค์๊ฐ ํตํ ๋ณํ์ ์ํ Wasm ์ปดํฌ๋ํธ๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ๋ ์ผ์ ๋ค๋ฅธ ํ์ ์ด ์ปดํฌ๋ํธ๋ฅผ ๊ธ์ต ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ ธ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๋ฐํด๋ฅผ ๋ค์ ๋ฐ๋ช ํ ํ์ ์์ด ๋ฏธ๋ฆฌ ๊ตฌ์ถ๋ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์์ต๋๋ค.
4. ์ธ์ด ๋ถ๊ฐ์ง๋ก
WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ WebIDL๊ณผ ๊ฐ์ ์ธํฐํ์ด์ค ์ค๋ช ์ ์์กดํ์ฌ ์๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑ๋ ์ปดํฌ๋ํธ ๊ฐ์ ์ํํ ์ํธ ์ด์ฉ์ฑ์ ํ์ฉํฉ๋๋ค. Rust๋ก ์์ฑ๋ Wasm ๋ชจ๋์ Go๋ก ์์ฑ๋ Wasm ๋ชจ๋๊ณผ ํต์ ํ ์ ์์ผ๋ฉฐ, ์ด ๋ชจ๋์ C++๋ก ์์ฑ๋ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ํธ ์์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค์ ๊ฐ๋ฐ์ ์ ๋ฌธ์ฑ์ ๋ ๋์ ๋ฒ์์ ํ๋ก์ ํธ์ ํ์ฉํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ด ์ด๋ฆฝ๋๋ค.
๊ธ๋ก๋ฒ ์์: ๋๊ธฐ์ ์ ๋ฉ์ธํ๋ ์์์ ์คํ๋๋ COBOL๋ก ์์ฑ๋ ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ๋ณด์ ํ ์ ์์ต๋๋ค. Wasm ํด์ฒด์ธ์ ๋ฐ์ ์ ํตํด ์ด ๋ก์ง์ ์ผ๋ถ๋ฅผ Wasm ์ปดํฌ๋ํธ๋ก ๋ ธ์ถํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ ธ ๋ชจ๋ ์ธ์ด๋ก ์์ฑ๋ ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ํธ ์์ฉํ ์ ์๊ฒ ๋ ์ ์์ต๋๋ค.
5. ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๋ฐ ์ฃ์ง ์ปดํจํ ์ง์
Wasm์ ๊ฒฝ๋ ํน์ฑ, ๋น ๋ฅธ ์์ ์๊ฐ ๋ฐ ๊ฐ๋ ฅํ ๋ณด์ ๋ณด์ฆ์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ ๋ฐ ์ฃ์ง ์ปดํจํ ์๋๋ฆฌ์ค์ ์ด์์ ์ ๋๋ค. ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๋ง์ดํฌ๋ก์๋น์ค ๋ฐ ๋ถ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ๋ ํ์คํ๋๊ณ ๋ชจ๋ํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ฌ ์ด๋ฅผ ๋์ฑ ๊ฐํํฉ๋๋ค.
- ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ: Wasm ๋ชจ๋์ ๋งค์ฐ ํจ์จ์ ์ด๊ณ ์์ ํ๋ฉฐ ์ด์ ๊ฐ๋ฅํ ๋ง์ดํฌ๋ก์๋น์ค ์ญํ ์ ํ ์ ์์ต๋๋ค. ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ํตํด ๋ค๋ฅธ ์๋น์ค ๋ฐ ์ธํ๋ผ ์ปดํฌ๋ํธ์ ์ฝ๊ฒ ์ํธ ์์ฉํ ์ ์์ต๋๋ค.
- ์ฃ์ง ์ปดํจํ : ๋ฆฌ์์ค๊ฐ ์ ํ๋ ์ฃ์ง ์ฅ์น์์ ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๋ช ํํ๊ฒ ์ ์๋ ์ข ์์ฑ์ ๊ฐ์ง ์๊ณ ๋ ๋ฆฝ์ ์ธ Wasm ๋ชจ๋์ ๋ฐฐํฌํ ์ ์๋ค๋ ์ด์ ์ ์ ๊ณตํ์ฌ ์ด๋ฌํ ๋ชจ๋์ด ๋ช ์์ ์ผ๋ก ๋ถ์ฌ๋ฐ์ ๋ฆฌ์์ค๋ง ์๋นํ๋๋ก ํฉ๋๋ค.
๊ธ๋ก๋ฒ ์์: ๊ธ๋ก๋ฒ IoT ํ๋ซํผ์ ์ฃ์ง ์ฅ์น์์ ์คํ๋๋ Wasm ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ์ด์ ํ์ง ๋ฐ ๋ช ๋ น ์คํ์ ์ํํ์ฌ ์ง์ฐ ์๊ฐ๊ณผ ๋์ญํญ ์๊ตฌ ์ฌํญ์ ์ค์ผ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ปดํฌ๋ํธ๋ ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์ธํฐํ์ด์ค ์ ์๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฒฉ์ผ๋ก ์์ ํ๊ฒ ์ ๋ฐ์ดํธ๋ ์ ์์ต๋๋ค.
์ค์ฉ์ ์ธ ์ฌ์ฉ ์ฌ๋ก ๋ฐ ์๋๋ฆฌ์ค
WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์๋ง์ ๋๋ฉ์ธ์ ์ํฅ์ ๋ฏธ์น ๊ฒ์ ๋๋ค:
1. ์๋ฒ๋ฆฌ์ค ํจ์ ๋ฐ ์ฃ์ง ์ปดํจํ
๊ธฐ์กด ์๋ฒ๋ฆฌ์ค ํ๋ซํผ์ ์ข ์ข ์๋นํ ์ค๋ฒํค๋๊ฐ ์๋ ์ปจํ ์ด๋ํ์ ์์กดํฉ๋๋ค. ๋น ๋ฅธ ์์ ๋ฐ ์์ ์ค์น ๊ณต๊ฐ์ ๊ฐ์ง Wasm์ ๋งค๋ ฅ์ ์ธ ๋์์ ๋๋ค. ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ํตํด ์๋ฒ๋ฆฌ์ค ํจ์๋ ๊ฐ๋ ฅํ ๋ณด์ ๊ฒฝ๊ณ๋ฅผ ์ ์งํ๋ฉด์ ์ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ํตํด ํด๋ผ์ฐ๋ ์๋น์ค(๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ ๋ฑ)์ ์ํธ ์์ฉํ ์ ์๋ Wasm ๋ชจ๋๋ก ๊ตฌ์ถ๋ ์ ์์ต๋๋ค.
์ฃ์ง์์๋ Wasm ์ปดํฌ๋ํธ๊ฐ ์ค๋งํธ ํ ํ๋ธ๋ถํฐ ์ฐ์ ์ผ์๊น์ง ๋ค์ํ ์ฅ์น์์ ์คํ๋์ด ๋ก์ปฌ ์ปดํจํ ๋ฐ ์์ฌ ๊ฒฐ์ ์ ์ํํ ์ ์์ต๋๋ค. ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์ด๋ฌํ ์ปดํฌ๋ํธ๊ฐ ์์ ํ๊ณ ํ์ํ ํ๋์จ์ด ๋๋ ๋คํธ์ํฌ ๋ฆฌ์์ค์๋ง ์ก์ธ์คํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
2. ํ๋ฌ๊ทธ์ธ ์์คํ ๋ฐ ํ์ฅ์ฑ
ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ๊ณผ์ ์ ๋๋ค. ๊ฐ๋ฐ์๋ ์ข ์ข ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ํ์ฌ ์ฝ๋๋ฅผ ์คํํ๋๋ก ํ์ฉํ๋ ๋ณด์ ์ํฅ๊ณผ ์จ๋ฆํฉ๋๋ค. WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๊ฐ๋ ฅํ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฌ๊ทธ์ธ์ด ๊ตฌํํ ์ ์๋ ์ธํฐํ์ด์ค ์งํฉ์ ๋ ธ์ถํ ์ ์์ต๋๋ค. Wasm์ผ๋ก ์ปดํ์ผ๋ ์ด๋ฌํ ํ๋ฌ๊ทธ์ธ์ ์๋๋ฐ์คํ๋๋ฉฐ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ช ์์ ์ผ๋ก ๋ถ์ฌ๋ ๊ธฐ๋ฅ์๋ง ์ก์ธ์คํ ์ ์์ด ํ๋ฌ๊ทธ์ธ ์ํ๊ณ๋ฅผ ํจ์ฌ ๋ ์์ ํ๊ฒ ๋ง๋ญ๋๋ค.
๊ธ๋ก๋ฒ ์์: ์ ์ธ๊ณ ์๋ฐฑ๋ง ๋ช ์ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ ์ธ๊ธฐ ์๋ ์ฝํ ์ธ ๊ด๋ฆฌ ์์คํ (CMS)์์ ํ๋ฌ๊ทธ์ธ ์ํคํ ์ฒ์ Wasm ์ปดํฌ๋ํธ๋ฅผ ์ฑํํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ ํต์ฌ CMS ๋๋ ํธ์คํ ๋ ์น์ฌ์ดํธ์ ๋ณด์์ ์ํ์ ๋น ๋จ๋ฆฌ์ง ์๊ณ ๊ฐ๋ ฅํ ํ์ฅ์ ๋ง๋ค ์ ์์ต๋๋ค.
3. WebAssembly ๋ฐํ์ ๋ฐ ์ค๋ผํด
Wasm ์ฑํ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ Wasm ๋ฐํ์ ๊ฐ์ ์ํธ ์ด์ฉ์ฑ์ด ํ์ํ ๊ฒ์ ๋๋ค. ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๋ฐํ์์ด ์์คํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ํ์คํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ๋ํ ๋ธ๋ก์ฒด์ธ์ ์ค๋งํธ ๊ณ์ฝ(์: ์ค๋ผํด ์ญํ ์ ํ๋ ์ค๋งํธ ๊ณ์ฝ ์คํ ํ๊ฒฝ)์ ์์ฐ์ค๋ฝ๊ฒ ์ ํฉํ๋ฉฐ, ์ฌ๊ธฐ์ ์์ ํ๊ณ ๊ฒฐ์ ๋ก ์ ์ด๋ฉฐ ๊ฒฉ๋ฆฌ๋ ์คํ์ด ๊ฐ์ฅ ์ค์ํฉ๋๋ค.
4. ์๋ฒ ๋๋ ์์คํ ๋ฐ IoT
์๋ฒ ๋๋ ์์คํ ๋ฐ ์ฌ๋ฌผ ์ธํฐ๋ท(IoT)์ ๋ฆฌ์์ค ์ ์ฝ ๋ฐ ๋ณด์ ์๊ตฌ ์ฌํญ์ Wasm์ ์ฃผ์ ํ๋ณด์ ๋๋ค. ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ํตํด ๊ฐ๋ฐ์๋ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ํตํด ํ๋์จ์ด ์ผ์ ๋ฐ ์ก์ถ์์ดํฐ์ ์ํธ ์์ฉํ๋ ์ด๋ฌํ ์ฅ์น์ ๋ํด ๊ณ ๋๋ก ์ต์ ํ๋๊ณ ์์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๊ณผ์ ๋ฐ ์์ผ๋ก์ ๊ธธ
WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๋งค์ฐ ์ ๋งํ์ง๋ง ์ฌ์ ํ ์งํํ๋ ํ์ค์ ๋๋ค. ๋ช ๊ฐ์ง ๊ณผ์ ์ ๊ฐ๋ฐ ์์ญ์ด ๋จ์ ์์ต๋๋ค:
- ํด์ฒด์ธ ์ฑ์๋: ๋ค์ํ ์ธ์ด์ ๊ฑธ์ณ Wasm ์ปดํฌ๋ํธ๋ก ์ปดํ์ผํ๊ณ ์์ ํ๊ธฐ ์ํ ํด๋ง์ ์ง์์ ์ผ๋ก ๊ฐ์ ๋๊ณ ์์ง๋ง ์ฌ์ ํ ํ๋ฐํ ๊ฐ๋ฐ ์ค์ ๋๋ค.
- ํ์คํ ๋ฐ ์ฑํ: ๋ค์ํ WASI ์ธํฐํ์ด์ค์ ๋ํ ํ์คํ ์๋๋ ๊ด๋ฒ์ํ ์ฑํ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ค์ํ ์กฐ์ง๊ณผ ์ปค๋ฎค๋ํฐ๊ฐ ๊ธฐ์ฌํ๊ณ ์์ผ๋ฉฐ, ์ด๋ ๊ธ์ ์ ์ด์ง๋ง ์กฐ์ ์ด ํ์ํฉ๋๋ค.
- ๋๋ฒ๊น ๋ฐ ํด๋ง: ํนํ ๋ณต์กํ ์์คํ ์ธํฐํ์ด์ค์ ์ํธ ์์ฉํ๋ Wasm ์ปดํฌ๋ํธ๋ฅผ ๋๋ฒ๊น ํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ๊ฐ์ ๋ ๋๋ฒ๊น ๋๊ตฌ ๋ฐ ๊ธฐ์ ์ด ํ์ํฉ๋๋ค.
- ์ฑ๋ฅ ๊ณ ๋ ค ์ฌํญ: Wasm์ ์ฑ๋ฅ์ด ๋ฐ์ด๋์ง๋ง ์ธํฐํ์ด์ค ํธ์ถ ๋ฐ ๊ธฐ๋ฅ ๊ด๋ฆฌ์ ์ค๋ฒํค๋๋ฅผ ์ ์คํ๊ฒ ๊ณ ๋ คํ๊ณ ์ฑ๋ฅ์ด ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ต์ ํํด์ผ ํฉ๋๋ค.
- ์ํ๊ณ ์ฑ์ฅ: WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๋๋ฌ์ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๋ ์์ํฌ ๋ฐ ์ปค๋ฎค๋ํฐ ์ง์์ ์ฑ์ฅ์ ์ฅ๊ธฐ์ ์ธ ์ฑ๊ณต์ ํ์์ ์ ๋๋ค.
์ด๋ฌํ ๊ณผ์ ์๋ ๋ถ๊ตฌํ๊ณ WebAssembly ๋ฐ WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๋ํ ์ถ์ง๋ ฅ์ ๋ถ์ธํ ์ ์์ต๋๋ค. ํด๋ผ์ฐ๋ ๋ฐ ์ํํธ์จ์ด ์ฐ์ ์ ์ฃผ์ ์ ์ฒด๋ค์ด ๊ฐ๋ฐ์ ํฌ์ํ๊ณ ๊ธฐ์ฌํ๊ณ ์์ผ๋ฉฐ, ์ด๋ ๊ฐ๋ ฅํ ๋ฏธ๋๋ฅผ ์์ฌํฉ๋๋ค.
WASI ์ปดํฌ๋ํธ๋ก ์์ํ๊ธฐ
WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ํ์ํ๋ ๋ฐ ๊ด์ฌ ์๋ ๊ฐ๋ฐ์๋ฅผ ์ํด ๋ค์์ ๋ช ๊ฐ์ง ์์์ ์ ๋๋ค:
- WebAssembly ํ์ต: WebAssembly ์์ฒด์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ดํด๊ฐ ์๋์ง ํ์ธํ์ญ์์ค.
- WASI ์ ์ ํ์: WASI ์ธํฐํ์ด์ค ๋ฐ ์ปดํฌ๋ํธ ๋ชจ๋ธ ์ฌ์์ ๋ํ ์งํ ์ค์ธ ์์ ์ ์์งํ์ญ์์ค.
- ํด์ฒด์ธ ์คํ: Rust ๋๋ AssemblyScript์ ๊ฐ์ ์ธ์ด์ ์ฝ๋๋ฅผ WASI ์ง์์ ํตํด Wasm์ผ๋ก ์ปดํ์ผํด ๋ณด์ญ์์ค. ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ํ์ฉํ๋ ๋๊ตฌ๋ฅผ ์ฐพ์๋ณด์ญ์์ค.
- ์ปค๋ฎค๋ํฐ ์ฐธ์ฌ: GitHub, Discord ๋ฐ ํฌ๋ผ๊ณผ ๊ฐ์ ํ๋ซํผ์์ Wasm ๋ฐ WASI ์ปค๋ฎค๋ํฐ์ ์ฐธ์ฌํ์ฌ ์ง๋ฌธํ๊ณ ์ต์ ์ ๋ณด๋ฅผ ๋ฐ์๋ณด์ญ์์ค.
- ์์ ๊ฐ๋ ์ฆ๋ช ๊ตฌ์ถ: ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ด๋ณด๋ด๋ ๊ฒ์ ์์ฐํ๋ ๊ฐ๋จํ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์์ํ์ฌ ์ค์ต ๊ฒฝํ์ ์์ผ์ญ์์ค.
์ฃผ์ ๋ฆฌ์์ค(์์ - ์ต์ ๋งํฌ๋ ํญ์ ๊ณต์ ๋ฌธ์๋ฅผ ํ์ธํ์ญ์์ค):
- WebAssembly ์ฌ์: WebAssembly์ ๋ํ ๊ณต์ ์ถ์ฒ์ ๋๋ค.
- GitHub์ WASI ์ ์: WASI ์ธํฐํ์ด์ค์ ๋ํ ๊ฐ๋ฐ ๋ฐ ํ ๋ก ์ ์ถ์ ํฉ๋๋ค.
- ์ปดํฌ๋ํธ ๋ชจ๋ธ ๋ฌธ์: ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์ํคํ ์ฒ ๋ฐ ์ฌ์ฉ์ ๋ํ ํน์ ๋ฌธ์๋ฅผ ์ฐพ์ผ์ญ์์ค.
- ์ธ์ด๋ณ ์ปดํ์ผ๋ฌ ๋ฐ ๋ฐํ์: Rust(์: `wasm-pack`, `cargo-component`), Go, C++ ๋ฐ WASI ์ง์์ ํตํด Wasm ์ปดํ์ผ์ ์ง์ํ๋ ๊ธฐํ ์ต์ ์ ํ์ํ์ญ์์ค.
๊ฒฐ๋ก : ๋ชจ๋ํ ๋ฐ ์์ ํ ์์คํ ์ ์๋ก์ด ์๋
WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๋จ์ํ ์ ๋ฐ์ดํธ๊ฐ ์๋๋๋ค. ๋ ๋ชจ๋์ ์ด๊ณ ์์ ํ๋ฉฐ ์ํธ ์ด์ฉ ๊ฐ๋ฅํ ์ปดํจํ ๋ฏธ๋๋ฅผ ํฅํ ๊ธฐ์ด์ ์ธ ๋จ๊ณ์ ๋๋ค. ๊ธฐ๋ฅ ๊ธฐ๋ฐ, ๊ฐ๋ ฅํ ํ์ ์ง์ ๋ฐ ์ธํฐํ์ด์ค ๊ธฐ๋ฐ ์ค๊ณ๋ฅผ ์ฑํํจ์ผ๋ก์จ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๋ง์ดํฌ๋ก์๋น์ค๋ถํฐ ์ฃ์ง ์ปดํจํ ์ด์๊น์ง ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๋ํ ์ค์ํ ์๊ตฌ ์ฌํญ์ ํด๊ฒฐํฉ๋๋ค.
๊ธ๋ก๋ฒ ์ฌ์ฉ์์๊ฒ๋ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ผ๋ก ์ด์ ๊ฐ๋ฅํ๊ณ ๋ณด์ ์ํ์ ๋ ์ทจ์ฝํ๋ฉฐ ๊ตฌ์ฑ ๋ฐ ์ ์ง ๊ด๋ฆฌ๊ฐ ๋ ์ฌ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ์ํ๊ณ๊ฐ ์ฑ์ํ๊ณ ํด๋ง์ด ๋์ฑ ๊ฐ๋ ฅํด์ง์ ๋ฐ๋ผ WASI ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ์ ์ธ๊ณ์ ์ผ๋ก ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ๋ ๋ฐฉ์์ ํ์ฑํ๋ ๋ฐ ์์ฌํ ์ฌ์ง ์์ด ์ค์ํ ์ญํ ์ ํ ๊ฒ์ ๋๋ค. WebAssembly์๊ฒ๋ ํฅ๋ฏธ๋ก์ด ์๊ธฐ์ด๋ฉฐ, ์ปดํฌ๋ํธ ๋ชจ๋ธ์ ๋ณํ์ ์ ์ฌ๋ ฅ์ ์ ๋์ ์์ต๋๋ค.